Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- optimization



  How small should a function be?

"The well-designed functions are often relatively small, large function design is often a mess or there is a lot of room for optimization."Maybe you think there is no need to discuss the size of functions, because the nature of the function design is cohesive, its size is only its manifestations. But it is necessary to discuss about the size of function because the statement above .First let's understand the concept of minimum code processing unit : a basic operation (assignment, comparison, etc...

   Function size,Optimization     2012-12-18 13:58:07

  Java Doesn't Need to Be So Bad

I do a lot of Java coding and I enjoy it. I admit that there is a lot of typing, often a lot of boilerplate and getting even simple tasks done can involve too much work. Most of the tools that try to fix these problems trade one moment saved for another lost. Maven's XML based configuration file is a good example: Thank you for making my project easier to manage and I won't forget that you made me edit XML to do so. These are the things that you live with, these are the things you trade for ...

   Java,Coding,Enterprise application,Tedious     2011-12-09 07:50:20

  Google search engine algorithm change history

Recently, Google had a major adjustment on its search algorithm: Users can directly see answers to the searched question on the top of the page.There are billion of search requests each day on Google. There is no doubt that the algorithm will become the subject of discussion. Last year, Google did an adjustment to its search algorithm every 17.5 hours in average. We all experience the change of the algorithm. Following information chart summarizes the major changes of Google search algorit...

   Google,Search engine,History,Google+     2012-04-07 12:41:10

  What will the value of Integer.valueOf(127) == Integer.valueOf(127) be in Java?

Do you really understand how Java does the integer comparison? OK, ignore the statements in the post title. What we are interested in is another set of comparison statements. Let's first see below code snippet. public class IntegerComparison { public static void main(String[] args) { Integer a = 127, b = 127; Integer c = 128, d = 128; System.out.println(a == b); System.out.println(c == d); } } What do you think the output will be? Are they both displaying true? You will find out t...

   JAVA,==,EQUALSTO     2018-01-13 22:18:15

  Data as code

What is a good command line parser API? A good command line parser should consider below 5 aspects: Support convenient help information generation Support sub commands, for example, git has push,pull,commit sub commands. Support single character option, word option, flag option and option with parameter. Support default option, for example, if no -port is set, set it as 5037 Support usage model, for example, tar's -c and -x is mutually exclusive, they belong to different usage models. Here are...

   Command line,API     2013-08-08 22:40:36

  Clean Code Versus Great Code

I've had some interesting discussions with other developers about writing code recently. I often have the impression that some developers put too much emphasis on clean code. Don't get me wrong, i strive for clean code as well, and have written about its importance quite a lot in the past couple of years. But when i'm coding, clean code is my secondary goal and it could never take the place of my primary goal: making it work. And preferably, i want to make it work great. A lot of people love t...

   Code,Clean,Excellent,High quality,Compar     2011-08-10 03:27:08

  Python Patterns - An Optimization Anecdote

The other day, a friend asked me a seemingly simple question: what's the best way to convert a list of integers into a string, presuming that the integers are ASCII values. For instance, the list [97, 98, 99] should be converted to the string 'abc'. Let's assume we want to write a function to do this. The first version I came up with was totally straightforward: def f1(list): string = "" for item in list: string = string + chr(item) return string ...

   Python,Optimization,Anecdote,Loopup,ASCII     2011-12-18 10:52:49

  Interview Programming Problems Done Right

Introduction Why 37signals Doesn't Hire Programmers Based on Brainteasers and my comment on HN generated a lot of responses, so much so that I'm writing this post to properly explain the essence of a good (IMHO) interview programming problem. Pascal's Triangle Pascal's Triangle is a shortcut for getting coefficients most often used binomial probability. The root element is 1. Every other element is the sum of the one or two above it (diagonally left and diagonally right). There are severa...

   Interview,Programming problem,Pascal,Triangle     2012-01-06 09:46:43

  HTML Site vs. WordPress Theme: Which one is better?

Are you looking for a perfect platform to set up your website? Then, there might be a close competition between the simple HTML and the WordPress platform. In this blog post, we will try to explore some points that will help you in making the right decision. Let us overview at some advantages grasped by HTML and WordPress. 1. Security of a website It has been discovered that the website running on WordPress is more vulnerable to security threats and hackers. As we know, WordPress is open source...

   WORDPRESS,WORDPRESS BENEFITS,HTML TO WP CONVERSION,HTML TO WORDPRESS,HTML WEBSITE     2015-10-24 07:36:54

  A Peek Inside the Erlang Compiler

Erlang is a complex system, and I can’t do its inner workings justice in a short article, but I wanted to give some insight into what goes on when a module is compiled and loaded. As with most compilers, the first step is to convert the textual source to an abstract syntax tree, but that’s unremarkable. What is interesting is that the code goes through three major representations, and you can look at each of them. Erlang is unique among functional languages in its casual scop...

   Erlang,Peek,Erlang compiler     2012-02-08 10:12:04